public class Solution {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {

        if(headA==null||headB==null){
            return new ListNode(0);
        }
        ListNode curA=headA;
        ListNode curB=headB;
//两条链表，让一条链表的每一个结点，与另一整条链表比较指向看看有没有相交
        while(curA!=null){
            while(curB!=null){
                if(curA==curB){
                    //判断两条链表都不为空，且都只有一个结点并相交的情况
                    return curA;
                }
                if(curA.next==curB.next){
                    return curA.next;
                }
                curB=curB.next;
            }
            //一个结点与另一条链表比较完了以后记得再将它指向最开始的头结点
            curB=headB;
            curA=curA.next;
        }
        return new ListNode(0);
    }
}